package day_2022_4_to_7.day48;

/**
 * 另类加法
 * 不能用算术运算符
 * @author haomin
 * @date 2022/04/27 16:50
 **/
public class Day9_1_UniqueAdd {
    public static int addAB(int A, int B) {
        while (B != 0) {
            // 异或，结果和求和一致（相同为零，不同为一）
            int xor = A ^ B;
            // 与运算， 结果和进制一致（同一为一，否则为零）
            int and = (A & B) << 1;
            A = xor;
            B = and;
        }
        return A;
    }

    public static void main(String[] args) {
        System.out.println(addAB(1,1));
    }
}